package br.com.locanet.view.impl;

import java.util.List;

import javax.faces.bean.ManagedBean;

import br.com.locanet.bean.impl.CopiaFilme;
import br.com.locanet.bean.impl.Filme;
import br.com.locanet.service.impl.CopiaFilmeService;
import br.com.locanet.service.impl.FilmeService;
import br.com.locanet.view.AbstractManagedBean;

@ManagedBean(name="copiaFilmeBean")
public class CopiaFilmeBean extends AbstractManagedBean<CopiaFilme, CopiaFilmeService>{
	
	private Filme filme;
	private List<Filme> filmes;
	
	private FilmeService getFilmeService(){
	  return new FilmeService();
	}
	
	@Override
	public String insert() throws Exception {
		getEntity().setStatus(1);
		Filme fil= getFilmeSelecionado();
		fil.addCopia(getEntity());
		return super.insert();
	}
	
	@Override
	public String update() throws Exception {
		Filme filme = getFilmeSelecionado();
		getEntity().setFilme(filme);
		return super.update();
	}
	
	public Filme getFilme() {
		if (filme==null){
			filme = new Filme();
		}
		return filme;
	}
	
	public void setFilme(Filme filme) {
		this.filme = filme;
	}
	
	public List<Filme> getFilmes() {
		if(filmes==null){
			filmes = new FilmeService().selectAll();
		}
		return filmes;
	}
	
	public void setFilmes(List<Filme> filmes) {
		this.filmes = filmes;
	}
	
	private Filme getFilmeSelecionado(){
		return getFilmeService().select(getFilme()).get(0);
	}
}
